﻿Imports MySql.Data.MySqlClient

Public Class frmTratadoraAlta

    Private Sub btnGuardar_Click(sender As Object, e As EventArgs) Handles btnGuardar.Click

        Try

            If Validar() = False Then
                Exit Sub
            End If

            '    Dim MaxIdTratadora As Integer

            '    'Obtengo el maximo IdMarca
            '    Dim cmd2 As New SqlClient.SqlCommand("Select MAX(IdTratadora) From TRATADORAS")
            '    MaxIdTratadora = cn.getScalar(cmd2)
            '    ''-----------------------------

            sql = "INSERT INTO tratadoras (cliente, ano, serie, modelo, model, tipo, liquido, polvo, ip, usuario, clave, pais, provincia, localidad, activo) VALUES (@cliente, @ano, @serie, 'LS-' @model '-' @tipo '-' @liquido 'L-' @polvo 'P', @model, @tipo, @liquido, @polvo, @ip, @usuario, @clave, @pais, @estado, @ciudad, @activo)"

            Dim cmd As New MySql.Data.MySqlClient.MySqlCommand(sql)

            cmd.Parameters.Add("@cliente", MySqlDbType.VarChar, 50, "cliente")
            cmd.Parameters.Add("@ano", MySqlDbType.VarChar, 50, "ano")
            cmd.Parameters.Add("@serie", MySqlDbType.VarChar, 50, "serie")
            cmd.Parameters.Add("@model", MySqlDbType.VarChar, 50, "model")
            cmd.Parameters.Add("@tipo", MySqlDbType.VarChar, 50, "tipo")
            cmd.Parameters.Add("@liquido", MySqlDbType.VarChar, 50, "liquido")
            cmd.Parameters.Add("@polvo", MySqlDbType.VarChar, 50, "polvo")
            cmd.Parameters.Add("@ip", MySqlDbType.VarChar, 50, "ip")
            cmd.Parameters.Add("@usuario", MySqlDbType.VarChar, 50, "usuario")
            cmd.Parameters.Add("@clave", MySqlDbType.VarChar, 50, "clave")
            cmd.Parameters.Add("@pais", MySqlDbType.VarChar, 50, "pais")
            'cmd.Parameters.Add("@Clave", MySqlDbType.VarBinary, 100, "Clave")
            'cmd.Parameters.Add("@rango", MySqlDbType.Int32, 4, "rango")
            cmd.Parameters.Add("@estado", MySqlDbType.VarChar, 50, "estado")
            cmd.Parameters.Add("@ciudad", MySqlDbType.VarChar, 50, "ciudad")
            cmd.Parameters.Add("@activo", MySqlDbType.Bit, 1, "activo")

            ''Convierto la clave en un array de tipo byte
            'Dim sStr As String = txtClave.Text.Trim
            'Dim enc As New System.Text.ASCIIEncoding()
            'Dim bArray() As Byte = enc.GetBytes(sStr)

            'cmd.Parameters("@IdTratadora").Value = MaxIdTratadora + 1
            cmd.Parameters("@cliente").Value = varEmpresa
            cmd.Parameters("@ano").Value = txtAno.Text.Trim
            cmd.Parameters("@serie").Value = txtSerie.Text.Trim
            cmd.Parameters("@model").Value = cboModelo.Text
            cmd.Parameters("@tipo").Value = cboTipo.Text
            cmd.Parameters("@liquido").Value = cboLiquido.Text
            cmd.Parameters("@polvo").Value = cboPolvo.Text
            cmd.Parameters("@ip").Value = txtIP.Text.Trim
            cmd.Parameters("@usuario").Value = txtUsuario.Text.Trim
            cmd.Parameters("@clave").Value = txtClave.Text.Trim
            'cmd.Parameters("@Clave").Value = bArray
            'cmd.Parameters("@rango").Value = cboModelo.SelectedValue
            cmd.Parameters("@pais").Value = txtPais.Text.Trim
            cmd.Parameters("@estado").Value = txtEstado.Text.Trim
            cmd.Parameters("@ciudad").Value = txtCiudad.Text.Trim
            cmd.Parameters("@activo").Value = chkActivo.Checked

            cn.ExecNonQuery(cmd)

            DatosGuardadosCorrectamente()

            Me.Close()
            Me.Dispose()

        Catch ex As Exception
            MensajeError()
        End Try
    End Sub

    Private Function Validar() As Boolean

        If txtAno.Text.Trim = "" Then
            MsgBox("Debe ingresar una año", MsgBoxStyle.OkOnly + MsgBoxStyle.Exclamation, "Atención")
            txtAno.Focus()
            Return False
        End If

        If txtSerie.Text.Trim = "" Then
            MsgBox("Debe ingresar una serie", MsgBoxStyle.OkOnly + MsgBoxStyle.Exclamation, "Atención")
            txtSerie.Focus()
            Return False
        End If

        If cboModelo.SelectedIndex = 0 Then
            MsgBox("Debe seleccionar un modelo", MsgBoxStyle.OkOnly + MsgBoxStyle.Exclamation, "Atención")
            cboModelo.Focus()
            Return False
        End If

        If cboTipo.SelectedIndex = 0 Then
            MsgBox("Debe seleccionar un tipo", MsgBoxStyle.OkOnly + MsgBoxStyle.Exclamation, "Atención")
            cboTipo.Focus()
            Return False
        End If

        If cboLiquido.SelectedIndex = 0 Then
            MsgBox("Debe seleccionar un líquido", MsgBoxStyle.OkOnly + MsgBoxStyle.Exclamation, "Atención")
            cboLiquido.Focus()
            Return False
        End If

        If cboPolvo.SelectedIndex = 0 Then
            MsgBox("Debe seleccionar un polvo", MsgBoxStyle.OkOnly + MsgBoxStyle.Exclamation, "Atención")
            cboPolvo.Focus()
            Return False
        End If

        'Aviso que no ingreso IP pero puede continuar
        If txtIP.Text.Trim = "" Then
            If MsgBox("No ha ingresado ninguna IP de la tratadora" & Chr(13) & "No podrá acceder a la carga de datos a través de la red. Sólo podrá cargar datos almacenados a través de un pen drive" & Chr(13) & "¿Desea continuar?", MsgBoxStyle.YesNo + MsgBoxStyle.Exclamation, "Atención") = vbNo Then
                txtIP.Focus()
                Return False
            End If
        End If

        'Si ingresó IP valido usuario
        If txtIP.Text.Trim <> "" And txtUsuario.Text.Trim = "" Then
            MsgBox("Debe ingresar un usuario", MsgBoxStyle.OkOnly + MsgBoxStyle.Exclamation, "Atención")
            txtUsuario.Focus()
            Return False
        End If

        'Si ingresó IP valido clave
        If txtIP.Text.Trim <> "" And txtClave.Text.Trim = "" Then
            MsgBox("Debe ingresar una clave", MsgBoxStyle.OkOnly + MsgBoxStyle.Exclamation, "Atención")
            txtClave.Focus()
            Return False
        End If

        'Dim cmd As New MySql.Data.MySqlClient.MySqlCommand("Select email From users Where email='" & Trim(txtAno.Text.Trim) & "'")
        'If Not IsNothing(cn.getScalar(cmd)) Then
        '    MsgBox("El email ingresado ya existe", MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly, "Atención")
        '    txtAno.Focus()
        '    Return False
        'End If

        Return True

    End Function


    Private Sub frmTratadoraAlta_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        cboModelo.SelectedIndex = 0
        cboTipo.SelectedIndex = 0
        cboLiquido.SelectedIndex = 0
        cboPolvo.SelectedIndex = 0
    End Sub

    Private Sub txtIP_TextChanged(sender As Object, e As EventArgs) Handles txtIP.TextChanged
        If txtIP.Text.Trim <> "" Then
            lblUsuarioValidacion.Visible = True
            lblClaveValidacion.Visible = True
        Else
            lblUsuarioValidacion.Visible = False
            lblClaveValidacion.Visible = False
        End If
    End Sub
End Class